Git-deliver est un système simple et sécurisé sous GPLv3 pour :
- déployer un logiciel sur un ou plusieurs serveurs ;
- vérifier quelle version est sur un serveur, qui l'a livré et quand, et les éventuelles modifications depuis la livraison ;
- partager des configurations de livraison.
Git-deliver s'appuie sur les atouts de :
- Git pour la gestion des versions, le transfert de données et le contrôle d'intégrité ;
- SSH pour l'authentification et l'exécution à distance de commandes ;
- Bash pour l'exécution de scripts de livraison.
Un prototype fonctionnel se trouve sur Github, ainsi que plus d'informations et de documentation.
Contrairement à un simple Git push/checkout, Git-deliver :
- rend la livraison « atomique » ;
- structure la livraison en étapes et gère les erreurs tout en maintenant la disponibilité du logiciel ;
- archive les livraisons et automatise les retours en arrière (« rollback ») ;
- garde un journal des opérations ;
- fournit une façon simple de savoir quelle version est livrée sur quel serveur, de valider l'intégrité des livraisons, et de savoir quand et par qui une version a été livrée ;
- prévoit d'intégrer des recettes de livraison préfabriquées pour les environnements les plus courants.